package br.com.conhecimento.core.model;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="tb_demanda_historico")
public class GestaoDemandaHistorico extends GestaoModeloBase {

	@Column(name="descricao")
	private String descricao;
	
	@ManyToOne
	@JoinColumn(name="id_demanda", referencedColumnName="id")
	private GestaoDemanda demanda;
	
	@ManyToOne
	@JoinColumn(name="id_flag", referencedColumnName="id")
	private GestaoDemandaFlag flag;
	
	@ManyToOne
	@JoinColumn(name="id_tipo", referencedColumnName="id")
	private GestaoDemandaTipo tipo;
	
	@ManyToOne
	@JoinColumn(name="id_status", referencedColumnName="id")
	private GestaoDemandaStatus status;
	
	@ManyToOne
	@JoinColumn(name="id_prioridade", referencedColumnName="id")
	private GestaoDemandaPrioridade prioridade;
	
	@ManyToOne
	@JoinColumn(name="id_cliente", referencedColumnName="id")
	private GestaoCliente cliente;
	
	@Column(name="nm_cliente")
	private String nomeCliente;
	
	@ManyToOne
	@JoinColumn(name="id_solicitante", referencedColumnName="id")
	private GestaoUsuario solicitante;
	
	@ManyToOne
	@JoinColumn(name="id_usuario", referencedColumnName="id")
	private GestaoUsuario usuario;
	
	@ManyToOne
	@JoinColumn(name="id_receita", referencedColumnName="id")
	private GestaoDemandaReceita receita;
	
	@Column(name="atividade")
	private String atividade;
	
	@Column(name="acao_esperada")
	private String acaoEsperada;
	
	@Column(name="responsavel")
	private String responsavel;
	
	@Column(name="is_nao_planejada")
	private Boolean planejada;
	
	@Column(name="publico")
	private Boolean publico;
	
	@Column(name="is_outra_area")
	private Boolean outraArea;
	
	@Column(name = "data_solicitacao")
	private Timestamp dataSolicitacao;
	
	@Column(name = "data_conclusao_planejada")
	private Timestamp dataConclusaoPlanejada;
	
	@Column(name = "data_conclusao_efetiva")
	private Timestamp dataConclusaoEfetiva;
	
	@Column(name = "evidencia")
	private String evidencia;
	
	@Column(name = "esforco")
	private Long esforco;

	public GestaoDemanda getDemanda() {
		return demanda;
	}

	public void setDemanda(GestaoDemanda demanda) {
		this.demanda = demanda;
	}

	public GestaoDemandaFlag getFlag() {
		return flag;
	}

	public void setFlag(GestaoDemandaFlag flag) {
		this.flag = flag;
	}

	public GestaoDemandaTipo getTipo() {
		return tipo;
	}

	public void setTipo(GestaoDemandaTipo tipo) {
		this.tipo = tipo;
	}

	public GestaoDemandaStatus getStatus() {
		return status;
	}

	public void setStatus(GestaoDemandaStatus status) {
		this.status = status;
	}

	public GestaoDemandaPrioridade getPrioridade() {
		return prioridade;
	}

	public void setPrioridade(GestaoDemandaPrioridade prioridade) {
		this.prioridade = prioridade;
	}

	public GestaoCliente getCliente() {
		return cliente;
	}

	public void setCliente(GestaoCliente cliente) {
		this.cliente = cliente;
	}

	public String getNomeCliente() {
		return nomeCliente;
	}

	public void setNomeCliente(String nomeCliente) {
		this.nomeCliente = nomeCliente;
	}

	public GestaoUsuario getSolicitante() {
		return solicitante;
	}

	public void setSolicitante(GestaoUsuario solicitante) {
		this.solicitante = solicitante;
	}

	public GestaoUsuario getUsuario() {
		return usuario;
	}

	public void setUsuario(GestaoUsuario usuario) {
		this.usuario = usuario;
	}

	public GestaoDemandaReceita getReceita() {
		return receita;
	}

	public void setReceita(GestaoDemandaReceita receita) {
		this.receita = receita;
	}

	public String getAtividade() {
		return atividade;
	}

	public void setAtividade(String atividade) {
		this.atividade = atividade;
	}

	public String getAcaoEsperada() {
		return acaoEsperada;
	}

	public void setAcaoEsperada(String acaoEsperada) {
		this.acaoEsperada = acaoEsperada;
	}

	public String getResponsavel() {
		return responsavel;
	}

	public void setResponsavel(String responsavel) {
		this.responsavel = responsavel;
	}

	public Boolean getPlanejada() {
		return planejada;
	}

	public void setPlanejada(Boolean planejada) {
		this.planejada = planejada;
	}

	public Boolean getPublico() {
		return publico;
	}

	public void setPublico(Boolean publico) {
		this.publico = publico;
	}

	public Boolean getOutraArea() {
		return outraArea;
	}

	public void setOutraArea(Boolean outraArea) {
		this.outraArea = outraArea;
	}

	public Timestamp getDataSolicitacao() {
		return dataSolicitacao;
	}

	public void setDataSolicitacao(Timestamp dataSolicitacao) {
		this.dataSolicitacao = dataSolicitacao;
	}

	public Timestamp getDataConclusaoPlanejada() {
		return dataConclusaoPlanejada;
	}

	public void setDataConclusaoPlanejada(Timestamp dataConclusaoPlanejada) {
		this.dataConclusaoPlanejada = dataConclusaoPlanejada;
	}

	public Timestamp getDataConclusaoEfetiva() {
		return dataConclusaoEfetiva;
	}

	public void setDataConclusaoEfetiva(Timestamp dataConclusaoEfetiva) {
		this.dataConclusaoEfetiva = dataConclusaoEfetiva;
	}

	public Long getEsforco() {
		return esforco;
	}

	public void setEsforco(Long esforco) {
		this.esforco = esforco;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	
}
